﻿using HPIT_LiuzuPoint.Entity.POCOModel;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Runtime.Remoting.Messaging;
using System.Text;
using System.Threading.Tasks;

namespace HPIT_LiuzuPoint.Business
{
    /// <summary>
    /// 数据库上下文礼物
    /// 从当前请求线程中获取上下文，如果当前请求线程中不存在，则创建，保证同一个请求线程中上下文    唯一
    /// </summary>
   public class ContextGift   
    {
        public static DbContext GetCurrentContext()
        {
            //先从请求线程中获取上下文
            var dbContext = CallContext.GetData("DbContext") as DbContext;

            //如果不存在，则实例化出新的
            if (dbContext==null)
            {
                //实力胡数据库访问上下文
                dbContext = new Gift();

                //放入当前请求线程中
                CallContext.SetData("DbContext",dbContext);
            }
            return dbContext;
        }
    }
}
